#pragma once
#include <arpa/inet.h>
#include <netinet/in.h>
#include <string>

//sock的地址协议类
class InetAddress
{
private:
    sockaddr_in addr_;  //地址协议结构体
public:
    InetAddress();
    InetAddress(const std::string &ip, uint16_t port);  //创建listen的结构体构造函数
    InetAddress(const sockaddr_in addr);  //accept连接的fd的构造函数
    ~InetAddress();

    const char* ip() const;         //返回字符串表示的地址
    uint16_t port() const;          //返回整数表示的端口
    const sockaddr* addr() const;   //返回addr_成员的地址并转换成sockaddr
    void setaddr(sockaddr_in clientaddr);   //设置addr_成员的值
};